// modules/settingModule/pages/profile/profile.js
import {userBehavior} from "./behavior.js"
import {setStorage} from "../../../../utils/storage"
import {reqUploadFile,reqUpdateUserInfo } from "../../../../apis/user"
Page({
  behaviors: [userBehavior],
  // 页面的初始数据
  data: {
    userInfo:{
      nickname:'',
      headimgurl:''
    },
    isShowPopup: false // 控制更新用户昵称的弹框显示与否
  },
 
  // 显示修改昵称弹框
  onUpdateNickName() {
    this.setData({
      isShowPopup: true
    })
  },
//更新头像
 async chooseAvatar(e){
  // console.log(e.detail.avatarUrl);
  //获取临时头像路径
  const {avatarUrl} =e.detail
  try {
     // 第二种实现本地资源上传的方式：使用 mina-request 提供的 upload 实例方法
   const res = await reqUploadFile(avatarUrl, 'file')
  //  console.log(res);
   this.setData({
           'userInfo.headimgurl' :res.data
         })
  } catch (error) {
    wx.showToast({
             title: '头像更新失败，请稍后再试',
             icon: 'none'
           })
  }
  
  // this.setData({
  //         'userInfo.headimgurl' :avatarUrl
  //       })
  //将获取到头像信息的临时路径上传到自己的服务器
  //从本地资源上传图片
  // wx.uploadFile({
  //   url: 'https://gmall-prod.atguigu.cn/mall-api/fileUpload',
  //   filePath: avatarUrl,
  //   name: 'file',
  //   header: {
  //    token: getStorage('token')
  //   },
  //   // 接口调用成功的回调函数
  //   success: (res) => {
  //     //使用uploadFile，返回是JSON字符串，需要使用JSON.parse()进行转换
  //     // console.log(res.data);
  //     const uploadRes=JSON.parse(res.data)
  //     // console.log(uploadRes);
  //     this.setData({
  //       'userInfo.headimgurl' :uploadRes.data
  //     })
  //   },
  //   // 接口调用失败的回调函数
  //   fail: (err) => {
  //     wx.showToast({
  //       title: '头像更新失败，请稍后再试',
  //       icon: 'none'
  //     })
  //   }
  // })

},
 // 更新用户信息,保证头像持久性
 async updateUserInfo() {
  // 调用 API，更新用户信息
 const res= await reqUpdateUserInfo(this.data.userInfo)
  if(res.code== 200){ 
  // 将用户信息存储到本地
 setStorage('userInfo', this.data.userInfo)

  // 将用户信息存储到 Store
  this.setUserInfo(this.data.userInfo)

  // 给用户提示头像更新成功
  wx.showToast({
    title: '头像更新成功',
    icon: 'none'
  })
}
},
// 获取最新的用户昵称

getNewNickname(event) {
  const newNickname = event.detail.value; // 获取最新的用户输入昵称值
  this.setData({
    'userInfo.nickname': newNickname
  });
},
submitForm(){
// console.log(e.detail.value);
const nickName=this.data.userInfo.nickname
// console.log(nickName);
this.setData({
  'userInfo.nickname':nickName,
  isShowPopup: false
})
},
  // 弹框取消按钮
  cancelForm() {
    this.setData({
      isShowPopup: false
    })
  }
})
